package com.ai.wxy.spring.jpa.admin;

import com.ai.spring.common.exception.RestControllerExceptionHandler;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;

/**
 * 运行
 *
 * @author 石头
 * @Date 2019/10/21
 * @Version 1.0
 **/
// Dao.@Component
@SpringBootApplication
// 扫描 @Controller、@Service 注解
@ComponentScan(basePackages = {
        "com.ai.wxy.spring.jpa.admin",
        "com.ai.wxy.spring.jpa.user.service",
        "com.ai.wxy.spring.jpa.sys.service",
        "com.ai.wxy.spring.jpa.user.dao",
        "com.ai.wxy.spring.jpa.sys.dao",
        "com.ai.wxy.spring.jpa.user.convert",
        "com.ai.wxy.spring.jpa.sys.convert",
})
// 扫描 @Repository 注解；
@EnableJpaRepositories(basePackages = {
        "com.ai.wxy.spring.jpa.user.respository","com.ai.wxy.spring.jpa.sys.respository",
})
// 扫描 @Entity 注解；
@EntityScan(basePackages = {
        "com.ai.wxy.spring.jpa.user.entity","com.ai.wxy.spring.jpa.sys.entity",
})
public class ApplicationRun {
    public static void main(String[] args) {
        new SpringApplicationBuilder(ApplicationRun.class).run(args);
    }

    @Bean
    public RestControllerExceptionHandler restControllerExceptionHandler(){
        return new RestControllerExceptionHandler();
    }
}
